package cn.yeziji.forum.service;

import cn.yeziji.forum.basic.netty.chat.ChatMessage;
import cn.yeziji.forum.dto.user.UserFocusOrFansListPagingDTO;
import cn.yeziji.forum.vo.chatroom.PrivateChatContactVO;

import java.util.List;

/**
 * 私聊聊天室数据处理服务
 *
 * @author gzkemays
 * @since 2022/12/02 5:47 PM
 */
public interface PrivateChatService {
  /**
   * 获取联系用户
   *
   * <p>根据用户的昵称，获取可以联系的用户，其中包括：对话过的用户、主动与昵称用户对话的用户、粉丝用户以及关注用户
   *
   * @param nickname 昵称
   * @return 用户信息列表
   */
  List<PrivateChatContactVO> getUserContact(UserFocusOrFansListPagingDTO pagingDTO);

  /**
   * 获取用户构建聊天室中的聊天记录
   *
   * @param chatroom 聊天室
   * @return 返回聊天的记录
   */
  List<ChatMessage> getChatroomRecords(String chatroom);
}
